#ifndef __DEBUG__
// For printing purposes
#define __DEBUG__ 0
#endif

#include <iostream>
#include <cstdint>

#include "../VAR.hpp"
#include "../TERM.hpp"

using namespace std;

void test2() {
  constexpr int min2 = -2*One;
  if (__DEBUG__) cout << endl << "Beginning Test 2:" << endl;
  if (__DEBUG__) cout << "\tMin2: " << min2 << endl;

  constexpr int min3 = -2*(-5)*8*One;
  if (__DEBUG__) cout << "\tMin3: " << min3 << endl;

  constexpr int min4 = -2*(-5+7)*8*One*4*(-3);
  if (__DEBUG__) cout << "\tMin4: " << min4 << endl;

  static_assert(One.cst() == 1, "ERROR");
  // Not static 
  // static_assert(min == xxx, "ERROR");
  static_assert(min2 ==  -2, "ERROR");
  static_assert(min3 ==  80, "ERROR");
  static_assert(min4 == 384, "ERROR");
}

int main (void) {
  test2();
}
